-- gets the screensaver preferences file set screensaver to "~/Library/Preferences/ByHost/" & (do shell script "cd ~/Library/Preferences/ByHost;ls | grep 'com\\.apple\\.screensaver\\..\\{12\\}\\.plist' | sed 's/\\.plist//'") -- saves the values that will be modified set lastPictureDirectoryChosen to (do shell script "defaults read " & screensaver & " lastPictureDirectoryChosen") set modulePath to (do shell script "defaults read " & screensaver & " modulePath") -- writes the new values do shell script "defaults write " & screensaver & " lastPictureDirectoryChosen /Users/paul/Pictures/Airplanes" do shell script "defaults write " & screensaver & " modulePath \"/System/Library/Frameworks/ScreenSaver.framework/Resources/Pictures Folder.saver\"" -- runs the screensaver background -- from bgscreensaver application set isrunning to do shell script "ps -ax | grep ScreenSaver.framework | grep -v grep | awk '{print $1}'" if isrunning is "" then do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background > /dev/null 2>&1 &" else do shell script "kill -9 " & isrunning & " > /dev/null 2>&1" end if -- restores the old values for the actual screensaver do shell script "sleep 2; defaults write " & screensaver & " lastPictureDirectoryChosen " & "\"" & lastPictureDirectoryChosen & "\"" do shell script "defaults write " & screensaver & " modulePath " & "\"" & modulePath & "\""